package com.ruoyi.onway.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.onway.domain.ReportOnway;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 在途油信息Mapper接口
 * 
 * @author ruoyi
 * @date 2024-10-12
 */
public interface ReportOnwayMapper 
{
    /**
     * 查询在途油信息
     * 
     * @param id 在途油信息ID
     * @return 在途油信息
     */
    public ReportOnway selectReportOnwayById(Long id);

    /**
     * 查询在途油信息列表
     * 
     * @param reportOnway 在途油信息
     * @return 在途油信息集合
     */
    public List<ReportOnway> selectReportOnwayList(ReportOnway reportOnway);

    /**
     * 新增在途油信息
     * 
     * @param reportOnway 在途油信息
     * @return 结果
     */
    public int insertReportOnway(ReportOnway reportOnway);

    /**
     * 修改在途油信息
     * 
     * @param reportOnway 在途油信息
     * @return 结果
     */
    public int updateReportOnway(ReportOnway reportOnway);

    /**
     * 删除在途油信息
     * 
     * @param id 在途油信息ID
     * @return 结果
     */
    public int deleteReportOnwayById(Long id);

    /**
     * 批量删除在途油信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReportOnwayByIds(Long[] ids);
@Select("select ifnull(sum(quantity),0) from report_plan p left join report_plan_detail d on p.id=d.plan_id where d.plan_id = #{planId} and d.refinery_id = #{refineryId}")
    BigDecimal selectPlanRefinerySumQuantity(@Param("planId") Long planId, @Param("refineryId") Long refineryId);

    BigDecimal selectSumQuantity(ReportOnway reportOnway);

    public List<ReportOnway> selectOnwayList(@Param("planId") Long planId, @Param("refineryId") Long refineryId);
}
